import { ChannelData } from "../ChannelData";
import { ChannelBase } from "../base/ChannelBase";

export default class WebChannel extends ChannelBase {
    public CheckScene(success: Function, fail: Function, caller: any) {
        success?.call(caller, true);
    }
    public navigateToScene() {
        ChannelData.is_enter_reward = true;
        console.log("跳转侧边栏");
    }

    /**
     * 初始化渠道
     */
    protected InitChannel() {
    }

    //#region 广告相关
    /**
     * 创建插屏广告
     */
    public CreatePage() {

    }
    /**
     * 展示插屏广告
     */
    public ShowPage(on_successed: Function, on_failed: Function) {

    }

    /**
     * 创建视频广告
     */
    public CreateVideo() {

    }
    /**
     * 展示视频广告
     */
    public ShowVideo(on_successed: Function, on_failed: Function, on_complete: Function, caller: any) {
        if (on_successed) {
            on_successed.call(caller);
        }
    }

    /**
     * 展示banner广告
     */
    public ShowBanner(on_successed: Function, on_failed: Function) { }
    /**
     * 隐藏banner广告
     */
    public HideBanner() { }

    /**
     * 创建盒子广告
     */
    public CreateBox() { }
    /**
     * 显示盒子广告
     */
    public ShowBox() { }
    /**
     * 隐藏盒子广告
     */
    public HideBox() { }

    /**
     * 创建积木广告
     */
    public CreateJuggle() { }
    /**
     * 显示积木广告
     */
    public ShowJuggle() { }
    /**
     * 隐藏积木广告
     */
    public HideJuggle() { }

    /**
     * 创建原生广告
     */
    public CreateNative() { }
    /**
    * 展示原生广告
    */
    public ShowNative(on_successed: Function, on_failed: Function) { }
    /**
    * 隐藏原生广告
    */
    public HideNative() { }
    //#endregion 广告相关

    //#region 分享/录屏相关 
    /**
     * 分享游戏
     */
    public ShareGame() { }

    /**
     * 开始录屏
     */
    public StartRecord() { }
    /**
     * 停止录屏
     */
    public StopRecord(on_stop: Function) { }
    /**
     * 分享录屏
     */
    public ShareRecord(on_successed: Function, on_failed: Function) { }
    //#endregion 分享/录屏相关

    /*
     * 短震动
     */
    public VibrateShort() {
        console.log("短震动")
    }
    /*
     * 长震动
     */
    public VibrateLong() {
        console.log("长震动")
    }

    public GetSystemInfo() { }

    /**
     * 打开另一个小程序
     * @param target 目标小程序appid
     * @param path 打开的页面路径
     * @param extraData 需要传递给目标小程序的数据
     * @param ON_SUCCESS 成功回调,返回参数res
     * @param ON_FAILED 失败回调,返回参数res
     * @param is_developer envVersion 的合法值是否为 develop(开发版)
     */
    public NavigateToMiniProgram(target: string, path: string, extraData: object, ON_SUCCESS: Function, ON_FAILED: Function, is_developer = false) {

    }



    public SetClipboardData(data: string, success: Function, fail: Function, complete: Function, caller: any) {
        console.log("设置剪切板数据:", data);
        success?.call(caller);
    }

    //#region 生命周期
    public OnShow(callback: Function) {
    }
    public OnHide(callback: Function) {
    }
    public OffShow(callback: Function) {
    }
    public OffHide(callback: Function) {
    }
    public GetLaunchOptionsSync(): any {
        return undefined;
    }
    public GetEnterOptionsSync(): any {
        return undefined;
    }
    public ExitMiniProgram(on_successed: Function, on_failed: Function, on_complete: Function) {

    }
    //#endregion 生命周期
}
